Flexible Correct-by-Construction Programming

نویسندگان

چکیده

Correctness-by-Construction (CbC) is an incremental program construction process to construct functionally correct programs. The programs are constructed stepwise along with a specification that inherently guaranteed be satisfied. CbC complex use without specialized tool support, since it needs set of predefined refinement rules fixed granularity which additional on top the programming language. Each rule introduces specific statement and developers cannot depart from these allows develop software in structured way ensure correctness, but limited flexibility disadvantage CbC. In this work, we compare classic CbC-Block TraitCbC. Both approaches TraitCbC, related CbC, they have new language constructs enable more flexible approach. We provide for both guideline, similar leads well-structured extends by adding insert any block statements. Therefore, introduce as extension TraitCbC implements correctness-by-construction basis traits specified methods. formally prove soundness strategy. All three development qualitatively compared regarding their constructs, usability assess best suited certain tasks developers.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Correct-by-Construction Concurrency

In the modern, multi-threaded, multi-core programming environment, correctly managing system resources such as locks and shared variables can be especially difficult and error-prone. A simple error, such as forgetting to release a lock, can have major consequences on the correct operation of the program (e.g. deadlock), often at a time and location that is isolated from the original error. Whil...

متن کامل

Towards Correct-by-Construction SDN

High-level SDN languages raise the level of abstraction in SDN programming from managing individual switches to programming network-wide policies. In this talk, we present Cocoon (for Correct by Construction Networking), an SDN programming language designed around the idea of iterative refinement. The network programmer starts with a high-level description of the desired network behavior, focus...

متن کامل

Producing Software Correct by Construction

sorts are re ned into concrete data types. Re nement may be performed by using morphisms or interpretations to show how a standard library data type can be used to represent a particular abstract data type. After the speci cation has been re ned into a suitable form, standard library components (algorithms and data types) are converted into components in some executable programming language (e....

متن کامل

Teaching the Construction of Correct Programs Using Invariant Based Programming

In most computer science curricula, formal reasoning about program correctness is taught separately from practical programming, and is thus by most students considered a purely theoretical activity. It has been a challenge to convince students of the practical applicability of formal methods. We present here an effort to apply Invariant Based Programming (IBP), a visual and practical program co...

متن کامل

Correct by Construction Networks using Stepwise Refinement

Building software-defined network controllers is an exercise in software development and, as such, likely to introduce bugs. We present CoCoNet, a framework for SDN development that facilitates both the design and verification of complex networks using stepwise refinement to move from a high-level specification to the final network implementation. A CoCoNet user specifies intermediate design le...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Logical Methods in Computer Science

سال: 2023

ISSN: ['1860-5974']

DOI: https://doi.org/10.46298/lmcs-19(2:16)2023